package com.wicket.okrcomponent.biz.service.dto.req;

import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc GenerateTimeCycleEtcSemanticInstanceComReqDto
 * @使用场景
 */
@Data
public class GenerateTimeCycleEtcSemanticInstanceComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 模板引擎标识
   */
  @NotNull(message = "模板引擎标识不能为空")
  @ApiModelProperty("模板引擎标识")
  private String templateSemanticEngineCode;

  /**
   * 周期名称
   */
  @ApiModelProperty("周期名称")
  private String cycleStandardName;

  /**
   * 周期开始时间
   */
  @ApiModelProperty("周期开始时间")
  private Date cycleStartTime;

  /**
   * 周期结束时间
   */
  @ApiModelProperty("周期结束时间")
  private Date cycleEndTime;

  /**
   * 目标内容名称
   */
  @ApiModelProperty("目标内容名称")
  private String targetContentName;

  /**
   * 数量
   */
  @ApiModelProperty("数量")
  private Long acount;

  /**
   * 周期类型名称
   */
  @ApiModelProperty("周期类型名称")
  private String cycleTypeName;

  /**
   * 周期类型标识
   */
  @ApiModelProperty("周期类型标识")
  private String cycleTypeCode;

  /**
   * 开始周期名称
   */
  @ApiModelProperty("开始周期名称")
  private String cycleStartName;

  /**
   * 结束周期名称
   */
  @ApiModelProperty("结束周期名称")
  private String cycleEndName;

  /**
   * 目标周期简称
   */
  @ApiModelProperty("目标周期简称")
  private String cyclelAlias;

  /**
   * 真实姓名
   */
  @ApiModelProperty("真实姓名")
  private String idCardName;

  /**
   * 组内职务名称
   */
  @ApiModelProperty("组内职务名称")
  private String virtualOrganizationPosition;

  /**
   * 修订主体内容
   */
  @ApiModelProperty("修订主体内容")
  private String reviseSubjectContent;

  /**
   * 修订行为名称
   */
  @ApiModelProperty("修订行为名称")
  private String reviseBehaviorName;

  /**
   * 变更后字段中文内容
   */
  @ApiModelProperty("变更后字段中文内容")
  private String columnContent;

  /**
   * 父子中周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
   */
  @ApiModelProperty("父子中周期类型")
  private String parentSubMidCycleType;

  /**
   * 自定义字段1
   */
  @ApiModelProperty("执行周期开始时间时间戳")
  private String customField1;

  /**
   * 自定义字段2
   */
  @ApiModelProperty("执行周期结束时间时间戳")
  private String customField2;

  /**
   * 自定义字段3
   */
  @ApiModelProperty("被评对象目标周期ID")
  private String customField3;

}
